/*
 * STMROS Plugin register macro
 */

#pragma once

#ifndef STMROS__PLUGIN_REGISTER_MACRO_HPP_
#define STMROS__PLUGIN_REGISTER_MACRO_HPP_

#include <class_loader/class_loader.hpp>
#include "stmros/plugin.hpp"

/**
 * Register a plugin for stmros.
 */
#define STMROS_PLUGIN_REGISTER(PluginClass) \
  CLASS_LOADER_REGISTER_CLASS( \
    stmros::plugin::PluginFactoryTemplate<PluginClass>, \
    stmros::plugin::PluginFactory)

#endif // STMROS__PLUGIN_REGISTER_MACRO_HPP_